package com.qf.controller;

import com.qf.entity.User;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Arrays;
import java.util.Date;
import java.util.List;

/**
 * 以梦为马，以汗为泉，不忘初心，不负韶华
 *
 * @author
 * @version 1.0
 * @data 2025/2/7 22:37
 */

@Controller
public class Demo2DataController {
    /**
     * 基本类型自动封装
     * 要求是: 前端请求的参数名,后端方法的参数名要一致
     * 【特殊的】 日期,前端发送的日期格式如果是yyyy-MM-dd，springmvc无法默认绑定参数，
     *            springmvc默认支持yyyy/MM/dd
     * 两种方案解决：
     *  1. 前端改,发出的日期格式就是yyyy/MM/dd即可
     *  2. 后端改,给日期参数加@DateTimeFormat(pattern = "yyyy-MM-dd")
     */
    @GetMapping("/base")//前端的请求路径和这个要对应好 还有请求方式
    public String base (int id, String username, double score, @DateTimeFormat(pattern = "yyyyy-MM-dd") Date birthday) {
        System.out.println("id = " + id);
        System.out.println("username = " + username);
        System.out.println("score = " + score);
        System.out.println("birthday = " + birthday);
        return "ok.html";
    }

    @GetMapping("/obj")
    public String obj(User user){
        System.out.println(user);
        return "ok.html";
    }

    @GetMapping("/array")
    public String array(int[] ids){//ids是前端的内部属性的键
        System.out.println(ids);
        return "ok.html";

    }


    @GetMapping("/list")
    //public  String list(@RequestParam List<String> skill){
    public String list(@RequestParam("skill") List<String> sb){
        //System.out.println(skill);
        System.out.println(sb);
        return "ok.html";
    }
    }

